Parent


Ruuds Diagnostic ROM  -  Breakdown  -  Version 3.2


Below, 'Checkpoint' means send the specified byte (which is in hex) to I/O ports 80h, 378h, 278h, and 3BCh.

I/O ports 378h and 278h and 3BCh are parallel (printer) ports.  If you have a parallel (printer) port at either of those ports, then the device shown at here can be used to view bytes sent to the port.  You can use a parallel printer if it has a 'hex' mode - example at here.

On an IBM 5150 or 5160, rarely does a POST card work to monitor bytes sent to I/O port 80h.  Do not be surprised if it does not work.  More information about that is at here.




For version 3.2



STEP
Video
enabled ?

           ACTION

           IF ERROR

           COMMENT
1 No checkpoint 00    
2 No Part 1 of CPU test.  If an error, send checkpoint 80 (hex) then halt.  
3 No checkpoint 01    
4 No Part 2 of CPU test.  If an error, send checkpoint 80 (hex) then halt.  
5 No checkpoint 02    
6 No See if 8-bit checksum of ROM is 00h.  If not 00h, send checkpoint 81 (hex) then halt.  ROM = Ruud's Diagnostic ROM
7 No checkpoint 03    
8 No Quote: 'Initialise the 8255 multi-port chip'    
9 No Quote: 'Make sure that turbo is off and disable memory parity'    
10 No Quote: 'Disable NMI interrupts'    
11 No Quote: 'Enable the expansion unit'    Extender card for IBM 5161.
12 No Quote: 'Disable the CGA and MDA video system ...'    
13 No Quote: 'Initialise the MDA port'    
14 No Quote: 'Initialise the CGA port'    
15 No Look for MDA or CGA video RAM.  If neither found, send checkpoint 8F then halt.  MDA or CGA video card required by this diagnostic.
16 No Test 96 bytes of the found video RAM.  If test unsuccessful, send checkpoint 8F then halt.  Video RAM is used by this diagnostic for a stack and many error counters.
17 No Initialise MDA or CGA card.    
18 No checkpoint 04    
19 No Quote: 'Clear the video screen'    
20 No checkpoint 05    
21 No Quote: 'Set the correct mode', then 'Make the cursor invisible'    
22 No checkpoint 06    
23 Yes Quote: 'Prepare the RAM for storage'    Zero the error counters that the diagnostic stores in video RAM.
24 Yes checkpoint 07    
25 Yes On-screen, display the name of the program and the version.    
26 Yes Beep the speaker.    A single beep.
27 Yes checkpoint 08    
28 Yes Display "Testing CPU"    
29 Yes checkpoint 09    
30 Yes Part 1 of CPU test.  If an error, send checkpoint 82 (hex) then halt.  
31 Yes checkpoint 0A    
32 Yes Part 2 of CPU test.  If an error, send checkpoint 82 (hex) then halt.  
33 Yes checkpoint 0C    
34 Yes Display "Diagnostic ROM checksum"    
35 Yes checkpoint 0E    
36 Yes See if 8-bit checksum of ROM is 00h.  If not 00h, send checkpoint 83 (hex) then halt.  Checkpoint 83 (hex) will never occur, because this check was done earlier at step 6.
37 Yes checkpoint 12 (hex)    
38 Yes Quote: 'Disable the DMA controller'    
39 Yes Quote: 'Disable the speakers and enable timer 2'    
40 Yes checkpoint 16 (hex)    
41 Yes Display "8253 timer channel 0"    
42 Yes Test 8253 timer channel 0.  If an error, send checkpoint 86 (hex).  
43 Yes checkpoint 18 (hex)    
44 Yes Display "8253 timer channel 1"    
45 Yes Test 8253 timer channel 1.  If an error, send checkpoint 88 (hex).  
46 Yes checkpoint 1A    
47 Yes Display "8253 timer channel 2"    
48 Yes Test 8253 timer channel 2.  If an error, send checkpoint 8A.  
49 Yes checkpoint 1C    
50 Yes Display "8237A DMA controller"    
51 Yes checkpoint 1E    
52 Yes Test the 8237A DMA controller.
checkpoint 22 will be output many times during this test.
 If an error, send checkpoint 8B then halt.  
53 Yes checkpoint 24 (hex)    
54 Yes Quote: 'Init the DMA and 8253 so the DRAM will be refreshed from now on'    
55 Yes checkpoint 26 (hex)    
56 Yes Display "8255 parity check"    
57 Yes checkpoint 28 (hex)    
58 Yes Quote: 'Check if a parity error occurs even if the parity check has been disabled'    
59 Yes Parity error?  If a parity error, send checkpoint 8C.  The 8255 chip should not be signaling that a parity error was detected.
60 Yes checkpoint 2A    
61 Yes Display "Check first 2 KB of RAM"    
62 Yes checkpoint 2E    
63 Yes Check the first 2 KB of RAM. If an error, send checkpoint 8E then put error details on-screen, then halt the CPU.  
64 Yes checkpoint 32 (hex)    
65 Yes Display "Found RAM:"   See how much Conventional memory can be found.

Strickly speaking, what this diagnostic reports is the top address of RAM.
For example, in the misconfiguration shown at here, the diagnostic will report 640 KB.
Same if a RAM card goes faulty in a way that creates a gap between motherboard RAM and card RAM.
66 Yes See how much RAM can be found.    
67 Yes checkpoint 34 (hex)    
67 Yes Display the amount of RAM found.    
68 Yes checkpoint 35 (hex)    
69 Yes Display "Testing RAM - Data"    
70 Yes Do a data test of the found RAM. If an error, send checkpoint 8E then put error details on-screen, then halt the CPU.  
71 Yes checkpoint 37 (hex)    
72 Yes Display "Testing RAM - Address"    
73 Yes Do an adddress test of the found RAM. If an error, send checkpoint 8E then put error details on-screen, then halt the CPU.  
  ...    
  ...    
  ...    
  ...    
  ...    
  ...    
  ...